﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Web;

namespace Obra.SmugMug.Api
{
    [ServiceContract]
    [XmlSerializerFormat]
    public interface ISmugMugAlbums
    {
        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Albums.Create)]
        void CreateAlbum(
            string sessionId,
            string title,
            int categoryId);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Albums.Delete)]
        void DeleteAlbum(
            string sessionId,
            int albumId);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Albums.Get)]
        AlbumsContract GetAlbums(
            string sessionId);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Albums.GetInfo)]
        AlbumContract GetAlbumInfo(
            string sessionId,
            int albumId);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Albums.GetStats)]
        AlbumStat GetAlbumStats(
            string sessionId,
            int albumId,
            int month,
            int year);

        [OperationContract]
        [WebGet(UriTemplate = UriTemplates.Albums.Sort)]
        void SortAlbum(
            string sessionId,
            int albumId,
            string by,
            string direction);
    }
}
